/**
 * @file renderer.jsx
 * @author liaoxuezhi@baidu.com
 */
/* eslint fecs-indent: [0, "space", 2, 2] */

import {
  Renderer,
  CustomRenderer,
  render,
  renderChildren,
  getReducers
} from './factory';

import {
  createAjaxAction,
  createScopedAction,
  createScopedReducer,
  createScopedDispatchAction,
  createReceiveReducer,
  fetch,
  createRequestReducer,
  createReceiveReducer,
  normalizeLink,
  compose,
  buildApi,
  buildLink,
  noop,
  dataMapping,
  evalExpression,
  evalExpression2,
  isTpl,
  tpl2html,
  tokenize,
  filterObj,
  filter,
  resolveVariable,
  setVariable,
  escapeHtml,
  padArr,
  tplImports
} from './util';

export {
  Renderer,
  CustomRenderer,
  render,
  renderChildren,
  getReducers,


  // utils
  createAjaxAction,
  createScopedAction,
  createScopedReducer,
  createScopedDispatchAction,
  createReceiveReducer,
  fetch,
  createRequestReducer,
  createReceiveReducer,
  normalizeLink,
  compose,
  buildApi,
  buildLink,
  noop,
  dataMapping,
  evalExpression,
  evalExpression2,
  isTpl,
  tpl2html,
  tokenize,
  filterObj,
  filter,
  resolveVariable,
  setVariable,
  escapeHtml,
  padArr,
  tplImports
};